#pragma once

#include "pugixml.hpp"
#include <vector>

class CE_SceneManager
{
public:
	CE_SceneManager(void);
	~CE_SceneManager(void);

	void clear();

	bool addScene(const char* sceneName, bool startScene=false);

	bool setScenes(pugi::xpath_node_set sceneNodeSet);
	CE_Scene* startScene() { return m_startScene; }

	int sceneCount() const { return (int)m_scenes.size(); }

protected:
	typedef std::vector<CE_Scene*> SceneVector;
	typedef SceneVector::iterator SceneVectorIt;

	SceneVector		m_scenes;
	CE_Scene*		m_startScene;
};

#define sceneManager (CE_Singleton<CE_SceneManager>::instance())
